/*
 * array.h
 *
 *  Created on: 2019年5月15日
 *      Author: Administrator
 *
 *  C 语言不允许返回一个完整的数组作为函数的参数，您可以通过指定不带索引的数组名来返回一个指向数组的指针。
 */

#include <stdio.h>
#include <string.h>
#include "../include/array.h"

void test() {

	// 声明
	double balance[5] = {100.0, 101.1, 120.2, 113.1, 114.2};
	// 修改
	balance[2] = 100.2;

	printf("%f", balance[0]);

}

void create(int* array, int length) {

	for (int i = 0; i < length; ++i) {
		scanf("%d", &array[i]);
	}

}

/**
 ** 从函数返回数组
 ** C语言不允许返回一个完整的数组作为函数的参数。但是，可以通过数组名来返回(一个指向数组的指针)
 ** 注意：
 ** 该返回数组不能是函数的局部变量数组 可以是静态局部变量 全局变量 以及从函数传进来的数组地址
 **
 */
int* get_array(int result[]) {

	for (int i=0; i < 10; i++) {

		result[i] = i;
	}
	return result;
}
// 传递数组给函数的三种方式：
// 方式一
void print_array(int array[], int length) {

	for (int i=0;i<length;i++) {
		printf("%d", array[i]);
	}

}

// 方式二形式参数为指针
void print_array_v2(int* array, int length) {

	for (int i=0;i<length;i++) {
		printf("%d ", array[i]);
	}
	printf("\n");
}


